// ======================================================
//     Copyright (c) 2009 METARACE  All rights reserved.
//    
//     The use and distribution terms for this software are contained in the file
//     named license.txt, which can be found in the root of this distribution.
//     By using this software in any fashion, you are agreeing to be bound by the
//     terms of this license.
//    
//     You must not remove this notice, or any other, from this software.
// ======================================================
using System;
using Metarace.Logging;

namespace Toulr.Util.Logging
{
    #region

    

    #endregion

    /// <summary>
    /// Manages the instantiation of <see cref="ILogger"/>s.
    /// </summary>
    public interface ILoggerFactory
    {
        /// <summary>
        /// Creates a new logger, getting the logger name from the specified type.
        /// </summary>
        ILogger Create(Type type);

        /// <summary>
        /// Creates a new logger.
        /// </summary>
        ILogger Create(String name);

        /// <summary>
        /// Creates a new logger, getting the logger name from the specified type.
        /// </summary>
        ILogger Create(Type type, LoggerLevel level);

        /// <summary>
        /// Creates a new logger.
        /// </summary>
        ILogger Create(String name, LoggerLevel level);
    }
}